An internetwork is a collection of distinct computer networks connected using a common routing technology. The “Internet” is an example of such an internetwork, where communication between nodes in distinct networks is facilitated by an internetworking protocol standard, the Internet Protocol (IP) Suite.
The proper noun “Internet” (capitalized) refers to a global, publicly accessible system of interconnected packet switched networks that interchange data using the Internet Protocol Suite.
Internetworks which are not the “Internet” but which use the Internet Protocol Suite are sometimes referred to variously as an “internet”, “IP internetwork”, “private internet”, “private IP internetwork” or “private IP network”. That is to say, that the “Internet” is merely one example of an IP based internetwork, although it is a very popular one owing to its global and publicly accessible nature.
As is generally known in IP networks, in order for a node in an IP internetwork to send data to another node on the IP internetwork, the data must be encapsulated within an IP packet.
FIG. 1A is a block diagram of a computer network consistent with the prior art. As shown in FIG. 1A, Node 1, Node 2, Node 3 and Node 4 are all connected to a computer network 10. For data interchange to occur between networks, an internetwork must be formed. The formation of an internetwork depends on the use of certain nodes, which are distinguished as “routers.”
FIG. 1B is a block diagram of an internetwork consistent with the prior art. As shown in FIG. 1B, the internetwork 20 includes a Network A, a Network B, a Network C, and a Network D. Each of these networks includes a special node that is distinguished by a circle. The special nodes Node A, Node B, Node C, and Node D, are routers, and will hereafter be designated Router A, Router B, Router C, and Router D, respectively.
In one example, if Node C3 of Network C sends a packet to Node A1 of Network A, the packet must first be sent to Router C of Network C. Router C in turn, sends the packet to Router B of Network B. From Router B, the packet is sent to Router A of Network Router A, which delivers the packet to Node A1 of Network A. The nomenclature for how a packet is routed from one node to another between networks is often referred to as the “path” between nodes. A path is an ordered list of routers, and each element of a path is variously referred to as an “intermediary node,” an “intermediate node,” or more simply a “hop.”
For example, the path from Node C3 to Node A1 can be designated by P=(C, B, A), where routers C, B, and A are all hops or intermediary nodes in the ordered list P.
Paths between nodes and routers can be formed dynamically or statically. Communication protocols, such as, Routing Information Protocol (RIP), Border Gateway Protocol (BGP), and Open Shortest Path First (OSPF) are examples of dynamic internetworking protocols that are used in IP internetworks.
Congestion control can be described notionally as controlling the rate of entry traffic of packets into a given network with the goal of maximizing ideal throughput between communicating nodes while avoiding congestive collapse. Congestive collapse is a condition where there is little or no useful communication happening because of congestion.
In a packet switched internetwork such as an IP internetwork, there are two popular methods by which congestion control can be achieved:                1. Routers Discard Packets. Routers in an internetwork perform congestion control by discarding packets sent by nodes that would otherwise cause the maximum packet or data rate between two routers to be exceeded. Such an example is found in the method described in the paper “Random Early Detection (RED) Gateways for Congestion Avoidance” by Sally Floyd and Van Jacobson.        2. Non-Router Nodes Perform End-To-End Congestion Control. A node may use congestion avoidance algorithms like Transmission Control Protocol (TCP) congestion avoidance, which performs congestion control between two non-router nodes in an IP internetwork. TCP congestion avoidance has multiple variations, including the variations TCP Reno, TCP Tahoe, and TCP Vegas. The paper “Simulation-based Comparisons of Tahoe, Reno and SACK TCP” by Kevin Fall and Sally Floyd is a useful reference as is the paper “Congestion Avoidance and Control” by Van Jacobson.        
Methods that are similar to the “Routers Discard Packets” method described above are not end-to-end congestion control models. “RED Gateway for Congestion Avoidance” by Sally Floyd and Van Jacobson describes a method by which routers and the intermediate hops of a path discard packets to enforce maximum link capacity.
Methods that are similar to TCP congestion avoidance, while end-to-end, do not consider the intermediate hops (routers) of an internetwork path as congestion points. In the TCP congestion avoidance technique, decisions on whether to send a packet are based on the communication success rate of an end-point in isolation.